package com.king.java.tools.network;


import com.king.java.tools.network.entity.NetworkInfo;

import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.List;

/**
 * 描述: 网络连接工具接口
 *
 * @author : sujinchen
 * @date : 2020/10/19
 */
public interface NetworkUtils {

    /**
     * 获取本机可用的IPv4地址
     * @return
     */
     List<InetAddress> getUsefulIPv4();

    /**
     * 获取本机可用的IPv6地址
     * @return
     */
     List<InetAddress> getUsefulIPv6();

    /**
     * 获取本机可用的网络接口信息
     * @return
     */
     List<NetworkInfo> getUsefulNetworkInfo();

    /**
     * 获取本机所有网络设备接口信息
     * @return List<NetworkInfo>
     */
     List<NetworkInfo> getAllNetworkInterfaceInfo();

    /**
     * 获取本机所有网络设备接口
     * @return List<NetworkInterface>
     */
     List<NetworkInterface> getAllNetworkInterfaces();
}
